专利摘要:
一種位元層次記憶體控制器及控制方法,適用以管理非揮發性記憶體的缺陷位元。壞行管理(BCM)單元取得一位元層次映射表,其分別標記缺陷位元。該BCM單元根據位元層次映射表以建構一位元層次標籤表(BLS),其包含複數項目以分別記載缺陷位元群。內部緩衝器儲存BCM單元根據位元層次標籤表所管理之資料。
公开号:TW201324518A
申请号:TW100147226
申请日:2011-12-19
公开日:2013-06-16
发明作者:Po-Wen Hsiao;Hung-Wen Hsieh
申请人:Skymedi Corp;
IPC主号:G06F11-00
专利说明:
位元層次記憶體控制器及控制方法
  本發明係有關一種非揮發性記憶體,特別是關於一種位元層次記憶體控制器,用以管理快閃記憶體的缺陷位元。
  快閃記憶體為一種非揮發性固態記憶體裝置,其可電性抹除或寫入。由於半導體製程的非完美性,快閃記憶體通常會含有壞(或故障)位元胞,使得無法正確儲存資料。
  第一圖顯示快閃記憶體的多個資料區塊的示意圖。快閃記憶體係由多個區塊(block)組成,每個區塊包含多個頁(page)。頁是快閃記憶體的基本寫入單元。如前所述,快閃記憶體通常會含有壞位元胞,如圖示斜線區域。根據傳統的區塊層次(block-level)分類測試方法,含有壞位元胞的區塊會被標記為壞(或無效)區塊。因此,該標記區塊就整個無法作為有效區塊,即使僅有一頁含有壞位元胞。
  第二圖顯示快閃記憶體的資料區塊的示意圖。每個區塊通常包含多個頁。如圖所示,於一頁中包含壞位元胞,如圖示斜線區域。根據傳統的頁層次(page-level)分類測試方法,含有壞位元胞的頁會被標記為壞頁。因此,該標記頁就整個無法作為有效頁,即使僅有一區段(sector)含有壞位元胞。
  第三圖顯示快閃記憶體的資料區段的示意圖。每個區段通常包含多個(例如512個)位元組。如圖所示,於一區段中包含一或多個壞位元胞,如圖示斜線區域。根據傳統的部分區段層次(partial-sector-level)分類測試方法,含有壞位元胞的區段會被標記為壞區段。因此,該標記區段就整個無法作為有效區段,即使僅有一位元組含有壞位元胞。
  雖然部分區段層次分類測試方法比頁層次、區塊層次分類測試方法具有較好的快閃記憶體胞之利用率,然而,仍然有極大部分的正常記憶體胞被浪費掉。第四A圖例示含有四區段(亦即,區段0至區段3)的頁的示意圖,其中第一區段(區段0)含有三缺陷位元群(group),第二區段(區段1)含有一缺陷位元群,且第四區段(區段3)含有一缺陷位元群。根據上述的部分區段層次分類測試方法,第一、第二及第四區段被標記為無效,只有第三區段(區段2)可作為有效區段,如第四B圖所示。換句話說,整個頁的利用率只有四分之一(或25%)。
  鑑於傳統快閃記憶體的分類測試方法無法有效利用快閃記憶體,因此亟需提出一種新穎的機制,用以改善傳統的分類測試方法。
  鑑於上述,本發明實施例提供一種位元層次記憶體控制器及控制方法,其使用壞行管理(bad column management, BCM)技術,根據描述有缺陷位元位置的位元層次標籤(script)表以略過缺陷位元。本實施例不受限於傳統方法的固定建構單元,例如區塊或頁。
  根據本發明實施例,位元層次記憶體控制器包含記憶體匯流排介面控制器、壞行管理(BCM)單元、內部緩衝器及主機匯流排介面控制器。記憶體匯流排介面控制器用以控制一記憶體匯流排的資料通信,該記憶體匯流排位於非揮發性記憶體與位元層次記憶體控制器之間。壞行管理(BCM)單元取得一位元層次映射表,其分別標記缺陷位元,其中BCM單元根據位元層次映射表以建構一位元層次標籤表(BLS),其包含複數項目以分別記載缺陷位元群。內部緩衝器用以儲存BCM單元根據位元層次標籤表所管理之資料。主機匯流排介面控制器用以控制一主機匯流排的資料通信,該主機匯流排位於主機與位元層次記憶體控制器之間。
  第五圖顯示本發明實施例之位元層次記憶體控制器5的方塊圖,其可用以管理非揮發性記憶體6的缺陷位元。本實施例雖然以NAND快閃記憶體為例,然而本發明也可適用於快閃記憶體以外的非揮發性記憶體。
  在本實施例中,位元層次記憶體控制器5主要包含記憶體匯流排介面控制器51、壞行管理(bad column management, BCM)單元52、內部緩衝器53及主機匯流排介面控制器54。本實施例還可包含先進先出(FIFO)控制器55,其位於BCM單元52與內部緩衝器53之間。在另一實施例中,如第六圖所示,先進先出(FIFO)控制器55係位於記憶體匯流排介面控制器51與BCM單元52之間。
  記憶體匯流排介面控制器51控制記憶體匯流排61的資料通信,該記憶體匯流排61位於快閃記憶體6與記憶體控制器5之間。主機匯流排介面控制器54控制主機匯流排71的資料通信,該主機匯流排71位於主機(例如電腦)7與記憶體控制器5之間。上述先進先出(FIFO)控制器55可用以執行資料的錯誤控制編碼(ECC)或加密/解密(encryption/decryption)。
  本實施例的BCM單元52首先取得(或接收)位元層次映射表,該映射表對缺陷位元分別作標記。第七圖例示位元層次映射表,其大小為一頁,包含(N+1)位元組,如行0至行N所示。在此例子中,每ㄧ位元組包含八個位元,亦即b0至b7。上述位元層次映射表係事先產生的,例如使用分類測試器(未圖示)對快閃記憶體6進行分類測試,以決定每ㄧ位元的可用性。
  接著,BCM單元52根據位元層次映射表以建構位元層次標籤表(bit-level script, BLS),其包含有多筆項目,分別記載缺陷位元群。表一例示含有48筆項目的位元層次標籤表。位元層次標籤表的每ㄧ筆項目包含開始位元(例如SB1),其記載相應缺陷位元群(例如第一缺陷位元群)的開始缺陷位元的位置;及略過位元範圍(例如SBR1),其記載相應缺陷位元群的長度。
表一

  表二例示位元層次標籤表的實際例子。例如,第一缺陷位元群(BLS1)的開始位元位於0x20(十六進位表示)且共含有八缺陷位元。換句話說,第一缺陷位元群含有八位元0x20至0x27。雖然本實施例的位元層次標籤表所處理的位元胞數目最小至單一位元胞,然而,其他實施例的位元層次標籤表所處理的位元胞數目則可大於一位元胞,例如為八位元的位元集。因此,位元層次標籤表的每ㄧ筆項目包含開始位元(例如SB1),其記載相應缺陷位元群中含有缺陷位元之位元集的開始位置;及略過位元範圍(例如SBR1),其記載相應缺陷位元群之位元集的長度。
表二
  於進行資料讀取時,資料(包含儲存於缺陷位元位置的錯誤資料)一筆一筆地從快閃記憶體6,經由記憶體匯流排61(例如,具位元組寬度的記憶體匯流排)而傳送至記憶體匯流排介面控制器51。所傳送資料被BCM單元52所接收。BCM單元52根據位元層次標籤表以管理接收資料,再將經管理之資料搬移至內部緩衝器53。詳而言之,BCM單元52略過(或繞過)位元層次標籤表所記載之缺陷位元位置的錯誤接收資料,用以過濾該接收資料,接著,將正確資料搬移至內部緩衝器53。經搬移資料因而連續置放於內部緩衝器53,其間不具有任何錯誤資料。換句話說,經管理資料置放於內部緩衝器53係呈現完整的正確資料。接著,位於內部緩衝器53的經管理資料被傳送至主機匯流排介面控制器54,最後,一筆一筆地藉由主機匯流排71(例如,具位元組寬度的主機匯流排)而傳送至主機7。
  於進行資料寫入時,資料從主機7經由主機匯流排71而傳送至主機匯流排介面控制器54。該傳送資料置放於內部緩衝器53。接著,BCM單元52根據位元層次標籤表,將內部緩衝器53的資料搬移至記憶體匯流排介面控制器51,再經由記憶體匯流排61而傳送至快閃記憶體6。詳而言之,當資料的目標位址不符合位元層次標籤表時,表示快閃記憶體6的相應位址為有效,因此BCM單元52將資料搬移至快閃記憶體6。反之,當資料的目標位址符合位元層次標籤表時,表示快閃記憶體6的相應位址為無效,因此BCM單元52填入虛(dummy)位元至快閃記憶體6。
  第八圖例示本發明實施例之BCM單元52的資料管理。圖式的頂部顯示快閃記憶體6的頁資料尚未受到BCM單元52管理之前的情形。如圖所示,該頁包含四區段(列),其中第一區段包含三缺陷位元群(亦即BLS1至BLS3),第二區段包含一缺陷位元群(亦即BLS4),且第四區段包含一缺陷位元群(亦即BLS5)。圖式的底部顯示資料被搬移至內部緩衝器53的頁資料。如前所述,BCM單元52根據位元層次標籤表以搬移所接收資料,略過(或繞過)錯誤資料並將正確資料搬移至內部緩衝器53,因而呈現完整的正確資料。位於內部緩衝器53尾端不具資料的位置,將被填以虛位元。
  反觀傳統記憶體控制器,例如區塊層次或頁層次記憶體控制器,缺少本實施例之BCM單元52及位元層次標籤表。再者,傳統記憶體控制器最多僅使用映射表以辨別非缺陷區塊或頁。更重要的是,傳統記憶體控制器即使具有內部緩衝器,然而所存放的資料則呈現分離不連續的資料,其間被錯誤資料所阻斷。換句話說,傳統記憶體控制器採用固定資料建構單元(例如區塊或頁),因此,相當部分的正確資料被浪費掉,如第四B圖所示。然而,本實施例拋棄固定資料建構單元的使用,因而得以避免傳統記憶體控制器的缺點。
  第九A圖顯示本發明實施例自快閃記憶體6讀取資料的流程圖,且第九B圖顯示第九A圖流程的相關信號波形。於系統初始化(步驟91)之後,自快閃記憶體6讀取資料(步驟92)。於步驟93,BCM單元52檢查所接收資料是否符合位元層次標籤表(BLS)。如果所接收資料符合位元層次標籤表,則一內部信號BCM變為低位準,因而捨棄接收資料。相反地,如果所接收資料不符合位元層次標籤表,則內部信號BCM變為(或維持)高位準,因而將接收資料搬移至內部緩衝器53(步驟94)。重複執行步驟92至94,直到傳送終點已達到(步驟95)。
  第十A圖顯示本發明實施例寫入資料至快閃記憶體6的流程圖,且第十B圖顯示第十A圖流程的相關信號波形。於系統初始化(步驟101)之後,自內部緩衝器53取得資料(步驟102)。於步驟103,BCM單元52檢查目標位址是否符合位元層次標籤表(BLS)。如果目標位址不符合位元層次標籤表,則一內部信號BCM變為(或維持)高位準,因而自內部緩衝器53取得資料並寫入至快閃記憶體6(步驟105)。如果目標位址符合位元層次標籤表,則內部信號BCM變為低位準,因而附加虛位元(步驟104)並寫入至快閃記憶體6(步驟105)。重複執行步驟102至105,直到傳送終點已達到(步驟106)。
  第十一圖顯示使用軟體(或韌體)程式以執行資料讀取(第九A/九B圖)及資料寫入(第十A/十B圖)的流程圖。於系統初始化(步驟111)之後,程式於步驟112取得(或讀取)位元層次標籤表(BLS)。接著,於步驟113,程式藉由設定及暫存器的觸發以啟動BCM單元52,用以執行資料的傳送,亦即資料讀取或寫入。
  以上所述僅為本發明之較佳實施例而已,並非用以限定本發明之申請專利範圍;凡其它未脫離發明所揭示之精神下所完成之等效改變或修飾,均應包含在下述之申請專利範圍內。
5...記憶體控制器
51...記憶體匯流排介面控制器
52...BCM單元
53...內部緩衝器
54...主機匯流排介面控制器
55...FIFO控制器
6...非揮發性記憶體(快閃記憶體)
61...記憶體匯流排
7...主機
71...主機匯流排
91-95...步驟
101-106...步驟
111-113...步驟
第一圖顯示快閃記憶體的資料區塊的示意圖。第二圖顯示快閃記憶體的資料區塊的示意圖。第三圖顯示快閃記憶體的資料區段的示意圖。第四A圖例示含有四區段的頁的示意圖。第四B圖顯示第四A圖之有效區段的示意圖。第五圖顯示本發明實施例之位元層次記憶體控制器的方塊圖,其可用以管理非揮發性記憶體的缺陷位元。第六圖顯示本發明另一實施例之位元層次記憶體控制器的方塊圖,其可用以管理非揮發性記憶體的缺陷位元。第七圖例示位元層次映射表,其大小為一頁。第八圖例示第五/六圖實施例之BCM單元的資料管理。第九A圖顯示本發明實施例自快閃記憶體讀取資料的流程圖。第九B圖顯示第九A圖流程的相關信號波形。第十A圖顯示本發明實施例寫入資料至快閃記憶體的流程圖。第十B圖顯示第十A圖流程的相關信號波形。第十一圖顯示使用軟體程式以執行資料讀取(第九A/九B圖)及資料寫入(第十A/十B圖)的流程圖。
5...記憶體控制器
51...記憶體匯流排介面控制器
52...BCM單元
53...內部緩衝器
54...主機匯流排介面控制器
55...FIFO控制器
6...非揮發性記憶體
61...記憶體匯流排
7...主機
71...主機匯流排
权利要求:
Claims (13)
[1] 一種位元層次記憶體控制器,適用以管理一非揮發性記憶體的缺陷位元,包含:   一記憶體匯流排介面控制器,用以控制一記憶體匯流排的資料通信,該記憶體匯流排位於該非揮發性記憶體與該位元層次記憶體控制器之間;   一壞行管理(BCM)單元,其取得一位元層次映射表,其分別標記缺陷位元,其中該BCM單元根據該位元層次映射表以建構一位元層次標籤表(BLS),其包含複數項目以分別記載缺陷位元群;   一內部緩衝器,用以儲存該BCM單元根據該位元層次標籤表所管理之資料;及   一主機匯流排介面控制器,用以控制一主機匯流排的資料通信,該主機匯流排位於一主機與該位元層次記憶體控制器之間。
[2] 如申請專利範圍第1項所述之位元層次記憶體控制器,更包含一先進先出(FIFO)控制器,其位於該BCM單元與該內部緩衝器之間。
[3] 如申請專利範圍第1項所述之位元層次記憶體控制器,更包含一先進先出(FIFO)控制器,其位於該記憶體匯流排介面控制器與該BCM單元之間。
[4] 如申請專利範圍第1項所述之位元層次記憶體控制器,其中該位元層次標籤表的每ㄧ項目包含一開始位元,記載該相應缺陷位元群的開始缺陷位元之位置;及一略過位元範圍,記載該相應缺陷位元群的長度。
[5] 如申請專利範圍第1項所述之位元層次記憶體控制器,其中該位元層次標籤表的每ㄧ項目包含一開始位元,記載該相應缺陷位元群中含有缺陷位元之位元集的開始位置;及一略過位元範圍,記載該相應缺陷位元群之位元集的長度。
[6] 如申請專利範圍第1項所述之位元層次記憶體控制器,其中該BCM單元於讀取資料時,略過該位元層次標籤表所記載之缺陷位元位置所儲存的錯誤資料,因而過濾該資料,並將正確資料搬移至該內部緩衝器。
[7] 如申請專利範圍第6項所述之位元層次記憶體控制器,其中該BCM單元於寫入資料時,當資料的目標位址不符合該位元層次標籤表時,則將該內部緩衝器的資料搬移至該非揮發性記憶體;當資料的目標位址符合該位元層次標籤表時,則附加虛位元以寫入至該非揮發性記憶體。
[8] 一種位元層次記憶體控制方法,適用以管理一非揮發性記憶體的缺陷位元,包含:   取得一位元層次映射表,其分別標記缺陷位元;   根據該位元層次映射表以建構一位元層次標籤表(BLS),其包含複數項目以分別記載缺陷位元群;及   根據該位元層次標籤表管理資料,並將經管理之該資料儲存至一內部緩衝器。
[9] 如申請專利範圍第8項所述之位元層次記憶體控制方法,更包含一步驟,於儲存該資料至該內部緩衝器之前,對該資料執行錯誤控制編碼(ECC)。
[10] 如申請專利範圍第8項所述之位元層次記憶體控制方法,其中該位元層次標籤表的每ㄧ項目包含一開始位元,記載該相應缺陷位元群的開始缺陷位元之位置;及一略過位元範圍,記載該相應缺陷位元群的長度。
[11] 如申請專利範圍第8項所述之位元層次記憶體控制方法,其中該位元層次標籤表的每ㄧ項目包含一開始位元,記載該相應缺陷位元群中含有缺陷位元之位元集的開始位置;及一略過位元範圍,記載該相應缺陷位元群之位元集的長度。
[12] 如申請專利範圍第8項所述之位元層次記憶體控制方法,於讀取資料時,略過該位元層次標籤表所記載之缺陷位元位置所儲存的錯誤資料,因而過濾該資料,並將正確資料搬移至該內部緩衝器。
[13] 如申請專利範圍第12項所述之位元層次記憶體控制方法,於寫入資料時,當資料的目標位址不符合該位元層次標籤表時,則將該內部緩衝器的資料搬移至該非揮發性記憶體;當資料的目標位址符合該位元層次標籤表時,則附加虛位元以寫入至該非揮發性記憶體。
类似技术:
公开号 | 公开日 | 专利标题
TWI467588B|2015-01-01|位元層次記憶體控制器及控制方法
JP3792259B2|2006-07-05|複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能
US8046645B2|2011-10-25|Bad block identifying method for flash memory, storage system, and controller thereof
US8966231B2|2015-02-24|Modifying commands
US8904086B2|2014-12-02|Flash memory storage system and controller and data writing method thereof
US9213629B2|2015-12-15|Block management method, memory controller and memory stoarge apparatus
US8667348B2|2014-03-04|Data writing method for non-volatile memory module and memory controller and memory storage apparatus using the same
WO2008070800B1|2008-07-31|Apparatus, system, and method for storage space recovery in solid-state storage
TWI585770B|2017-06-01|記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
US9268688B2|2016-02-23|Data management method, memory controller and memory storage apparatus
TWI645404B|2018-12-21|資料儲存裝置以及非揮發式記憶體操作方法
TW201703052A|2017-01-16|平均磨損方法、記憶體儲存裝置及記憶體控制電路單元
JP2010086009A|2010-04-15|記憶装置およびメモリ制御方法
TW201426756A|2014-07-01|非揮發性記憶體的資料安排方法及記憶體控制系統
KR101369408B1|2014-03-04|스토리지 시스템 및 이의 데이터 전송 방법
JP2010026584A|2010-02-04|メモリコントローラおよび不揮発性記憶装置
JP2010204961A|2010-09-16|アクセス制御装置、情報処理装置、アクセス制御プログラム及びアクセス制御方法
JP4661369B2|2011-03-30|メモリコントローラ
JP2012068765A|2012-04-05|メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2003242788A|2003-08-29|不揮発性半導体メモリ装置及びその制御方法
TWI718709B|2021-02-11|資料儲存裝置以及非揮發式記憶體控制方法
JP2009282836A|2009-12-03|メモリカード及びメモリカードドライブ
TWI417887B|2013-12-01|資料儲存系統與方法
JP3977859B2|2007-09-19|不揮発性半導体メモリ装置及びその制御方法
TW201740389A|2017-11-16|資料儲存媒體之損壞資料行的篩選方法
同族专利:
公开号 | 公开日
TWI467588B|2015-01-01|
US20130151752A1|2013-06-13|
CN103150273A|2013-06-12|
US8892968B2|2014-11-18|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
DE69033262T2|1989-04-13|2000-02-24|Sandisk Corp|EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher|
US5200959A|1989-10-17|1993-04-06|Sundisk Corporation|Device and method for defect handling in semi-conductor memory|
US6035432A|1997-07-31|2000-03-07|Micron Electronics, Inc.|System for remapping defective memory bit sets|
JP3132754B2|1997-09-08|2001-02-05|インターナショナル・ビジネス・マシーンズ・コーポレ−ション|記録装置、記録媒体及び記録制御方法|
DE10113531A1|2001-03-20|2002-10-17|Infineon Technologies Ag|Datenträger|
US7642105B2|2007-11-23|2010-01-05|Kingston Technology Corp.|Manufacturing method for partially-good memory modules with defect table in EEPROM|
US20110002169A1|2009-07-06|2011-01-06|Yan Li|Bad Column Management with Bit Information in Non-Volatile Memory Systems|
JP2012094233A|2010-09-29|2012-05-17|Elpida Memory Inc|半導体装置及びその製造方法|US9455048B2|2013-06-28|2016-09-27|Sandisk Technologies Llc|NAND flash word line management using multiple fragment pools|
TWI608488B|2015-03-25|2017-12-11|慧榮科技股份有限公司|資料儲存裝置以及資料存取方法|
RU2682764C2|2016-04-15|2019-03-21|Андрей Харитонович Аптюшев|Игра в кости "тернарис" и устройство для игры таким способом |
TWI605462B|2016-05-11|2017-11-11|慧榮科技股份有限公司|資料儲存媒體之損壞資料行的篩選方法|
US10120816B2|2016-07-20|2018-11-06|Sandisk Technologies Llc|Bad column management with data shuffle in pipeline|
US10235397B1|2016-09-30|2019-03-19|EMC IP Holding Company LLC|Trees and graphs in flash memory|
KR20190046491A|2017-10-26|2019-05-07|삼성전자주식회사|반도체 메모리, 반도체 메모리를 포함하는 메모리 시스템, 그리고 반도체 메모리의 동작 방법|
法律状态:
优先权:
申请号 | 申请日 | 专利标题
US13/313,714|US8892968B2|2011-12-07|2011-12-07|Bit-level memory controller and a method thereof|
[返回顶部]